<?php
/**
 * Classe Controladora Crud para Gerenciar Paineis Imagens
 * @author Wiliame Morais
 *
 */
class PC4_Controlador_Crud_PaineisArquivosComTexto extends PC4_Controlador_Crud_Paineis {
	
	public $numArquivosComTexto;
	
	public function preDispatch(){
		unset($this->campos['texto']);
		unset($this->campos['arquivo']);
		parent::preDispatch();
	}
	
	function init() {
		
		if(empty($this->uploads)){
			$this->uploads = array('background' => array('validacoes' => array('IsImage')));
			for($i = 1; $i <= $this->numArquivosComTexto; $i++){
				$this->uploads['arquivo' . $i] = array('validacoes' => array('IsImage'));
			}
		}
		
		if(empty($this->modelo)){
			$this->modelo = new Painel(array('camposFk' => array('arquivos' => 'GROUP_CONCAT(arquivo)', 'textos' => 'GROUP_CONCAT(texto)')));
		}
		
		if(empty($this->campos)){
			$this->campos = array(
				'titulo' => 'Título',
				'background' => array(
					'view' => 'imagem',
					'cabecalho' => 'Plano de fundo',
					'required' => false,
					'ocultoLista' => true
				)
			);	
			for($i = 1; $i <= $this->numArquivosComTexto; $i++){
				$this->campos['arquivo' . $i] =  array(
					'view' => 'imagem',
					'cabecalho' => 'Imagem ' . $i,
					'required' => false,
					'ocultoLista' => true
				);
				

				$this->campos['texto' . $i] = array(
					'cabecalho' => 'Texto da Imagem ' . $i,
					'view' => 'textarea',
					'required' => false,
					'ocultoLista' => true
				);
			}
		};
		parent::init();
	}

	public function getBean($id = 0){
		$campos = parent::getBean($id);
		$campos['id_tipos'] = $this->idTipoPainel;
		
		for($i = 1; $i <= $this->numArquivosComTexto; $i++){
			$campos['beansRel'][$i] = array('arquivo' => $campos['arquivo' . $i], 'texto' => $campos['texto' . $i]);
			unset($campos['arquivo' . $i]); unset($campos['texto' . $i]);
		}
		return $campos;
	}
	
	
	public function getDado($id){
		$r = parent::getDado($id)->toArray();
		$arquivos = explode(',', $r['arquivos']);
		$textos = explode(',', $r['textos']);
		
		for($i = 0; $i < $this->numArquivosComTexto; $i++){
			$r['arquivo' . ($i + 1)] = $arquivos[$i];
			$r['texto' . ($i + 1)] = $textos[$i];
		}
		
		return (object)$r;
	}
}